Make ZeroTreasuryWithdrawals a permanent check in gov state transation rule#5797
Merged
lehins merged 1 commit intoMay 8, 2026
Merged
Conversation
koslambrou
marked this pull request as ready for review
May 5, 2026 13:28
koslambrou
force-pushed
the
koslambrou/make-zero-withdrawal-permanent-check-master
branch
from
May 5, 2026 17:35
0a53b70 to
1d0e771
Compare
lehins
requested changes
May 5, 2026
lehins
left a comment
Collaborator
There was a problem hiding this comment.
Unfortunately, the proof was done incorrectly. Because this is a ledger rule validation that we are checking here the command that should have been used is:
$ cabal run cardano-streamer:exe:cstreamer -- replay --chain-dir /media/nvme/cardano-node/preview/db --config /media/nvme/cardano-node/preview/config.json --validate full
Note the --validate full. Or if it was omitted that would have worked too.
The reason why previous test that you did for #5757 had --validate none and it was sufficient, because that was a decoding change, not ledger validation change.
koslambrou
force-pushed
the
koslambrou/make-zero-withdrawal-permanent-check-master
branch
from
May 7, 2026 14:06
1d0e771 to
5d5a60c
Compare
Contributor
Author
|
@lehins I updated the PR description. I rerun everything with |
koslambrou
force-pushed
the
koslambrou/make-zero-withdrawal-permanent-check-master
branch
2 times, most recently
from
May 7, 2026 14:10
9f85db4 to
a21141b
Compare
…n rule In `conwayGovTransition`, we remove the condition on `hardforkConwayBootstrapPhase` for checking `ZeroTreasuryWithdrawals`. We then replayed the preview, preprod and mainnet public chains with this change which guarentees there were no empty treasury withdrawals pre-Conway era.
lehins
force-pushed
the
koslambrou/make-zero-withdrawal-permanent-check-master
branch
from
May 8, 2026 06:51
a21141b to
c2c95f7
Compare
lehins
approved these changes
May 8, 2026
lehins
left a comment
Collaborator
There was a problem hiding this comment.
Awesome! Glad we can remove this.
Thank you!
lehins
enabled auto-merge
May 8, 2026 06:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
In
conwayGovTransition, we remove the condition onhardforkConwayBootstrapPhasefor checkingZeroTreasuryWithdrawals. From now on, all eras require that withdrawals (not only post-Conway era) are positive numbers.We then replayed the preview, preprod and mainnet public chains with this change which guarantees there were no empty treasury withdrawals pre-Conway era.
Here's the proof that we replayed on public networks.
First, here's the same change, but on a ledger version that works with node 10.x: https://github.com/IntersectMBO/cardano-ledger/tree/koslambrou/make-zero-withdrawal-permanent-check. Commit hash is:
357cdd1f47cd3be82a239f4d8bed9ba117effbf8Then, we used
cardano-streamerto replay the chain for each public network.We first build
cardano-streamerwith our patch. See the cardano-ledger commit hash which matches the one above:For preview:
For preprod:
For mainnet:
Fix #5784
Checklist
CHANGELOG.mdfiles updated for packages with externally visible changes.NOTE: New section is never added with the code changes. (See RELEASING.md).
.cabalandCHANGELOG.mdfiles when necessary, according to theversioning process.
.cabalfiles updated when necessary.NOTE: If bounds change in a cabal file, that package itself must have a version increase. (See RELEASING.md).
scripts/fourmolize.sh).scripts/cabal-format.sh).scripts/gen-cddl.sh)hie.yamlupdated (usescripts/gen-hie.sh).